-- revive
-- created by zhuangsl
-- 天空战附加属性：HP低于xx%时释放技能，每种技能限定只能触发一次
-- ([2:500])代表HP低于50%时释放技能2

return {
    -- 空属性
    getEmptyProp = function()
        return {};
    end,

    -- 合并属性
    mergeSkyProp = function(data, addon)
        local result = {};

        if not data then
            result = table.copy(addon);
        else
            result = table.copy(data);

            for style, value in pairs(addon) do
                result[style] = value + (result[style] or 0);
            end
        end

        return result;
    end,

    parseDesc = function(desc, data)
        -- 按顺序替换，每次替换一个
        local rate;
        for _, skillId in ipairs(table.keys(data)) do
            rate = math.modf(data[skillId] / 10);
            desc = string.gsub(desc, "{hp}", rate, 1);

            -- 释放指定技能，需要对该技能解析一次描述
            desc = SkyShipSkillM.parseDesc(skillId, desc);
        end

        return desc;
    end,
};